{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 生成数组的方法\n",
    "## 生成0,1 数组"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 1., 1., 1., 1., 1., 1., 1.],\n",
       "       [1., 1., 1., 1., 1., 1., 1., 1.],\n",
       "       [1., 1., 1., 1., 1., 1., 1., 1.],\n",
       "       [1., 1., 1., 1., 1., 1., 1., 1.]])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ones = np.ones([4,8])\n",
    "ones"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., 0., 0., 0., 0., 0.],\n",
       "       [0., 0., 0., 0., 0., 0., 0., 0.],\n",
       "       [0., 0., 0., 0., 0., 0., 0., 0.],\n",
       "       [0., 0., 0., 0., 0., 0., 0., 0.]])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.zeros_like(ones)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 从现在数组中生成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.array([[1, 2, 3], [4, 5, 6]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 2, 3],\n",
       "       [4, 5, 6]])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "a1 = np.array(a) # 深拷贝"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 2, 3],\n",
       "       [4, 5, 6]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "a2 = np.asarray(a) # 浅拷贝"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 2, 3],\n",
       "       [4, 5, 6]])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "a[0, 0] = 1000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1000,    2,    3],\n",
       "       [   4,    5,    6]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 2, 3],\n",
       "       [4, 5, 6]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1000,    2,    3],\n",
       "       [   4,    5,    6]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成固定范围的数组"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  0.,  10.,  20.,  30.,  40.,  50.,  60.,  70.,  80.,  90., 100.])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linspace(0, 100, 11)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,\n",
       "       44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,\n",
       "       78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.arange(10, 100, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  1.,  10., 100.])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.logspace(0, 2, 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成随机数组"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 正态分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "x1 = np.random.normal(1.75, 1, 100000000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2.14726132, 2.34220066, 1.24955806, ..., 0.27842733, 0.90682495,\n",
       "       1.75303785])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2000x800 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 1.创建画布\n",
    "plt.figure(figsize=(20, 8), dpi=100)\n",
    "\n",
    "# 2.绘制图像\n",
    "plt.hist(x1, 1000)\n",
    "\n",
    "# 3.显示图像\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912,  0.39132714,  1.02290317, -0.33438889],\n",
       "       [-0.08775205,  1.99655647,  0.24488145, -1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957,  0.68582294,  1.05605474, -1.6015672 ],\n",
       "       [-0.53759709,  1.62663522, -0.2319302 , -0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change = np.random.normal(0, 1, [4,5])\n",
    "stock_change"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 均匀分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "x2 = np.random.uniform(-1, 1, 100000000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.2977719 , -0.10336683, -0.77723208, ...,  0.85248355,\n",
       "       -0.52078581,  0.79849061])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARsIYAAAAAACARpOHMVV136r6qaq6saq+UFX/u6peUVU1V6aq6vKq+vSszLVV9VXb6nl4VV1VVSer6vaqurKqHrytzBOr6ner6o6quqmqLt2hPc+qqo/Nyny4qp4x9TIDAAAAAADspuOTMT+S5PuTvDDJY2fvL03yorkylyZ5cZIXJHlKks8nOV5VD5wrc1WSxyU5P8kzkzw1yRVbI6tqI8m7k3wyydlJfjjJK6vq+XNlzk3yq0muTPL1Sa5OcnVVPX66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MAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKCRMAYAAAAAAKBRexhTVZdV1aiqN8wNe2BVvamq/ryq/m9Vvb2qTt823VdU1TVV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\n",
      "text/plain": [
       "<Figure size 2000x800 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 1.创建画布\n",
    "plt.figure(figsize=(20, 8), dpi=100)\n",
    "\n",
    "# 2.绘制图像\n",
    "plt.hist(x2, 1000)\n",
    "\n",
    "# 3.显示图像\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数组的索引、切片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912,  0.39132714,  1.02290317, -0.33438889],\n",
       "       [-0.08775205,  1.99655647,  0.24488145, -1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957,  0.68582294,  1.05605474, -1.6015672 ],\n",
       "       [-0.53759709,  1.62663522, -0.2319302 , -0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.5142373 , -0.32586912,  0.39132714])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change[0, 0:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "a1 = np.array([ [[1,2,3],[4,5,6]], [[12,3,34],[5,6,7]]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[ 1,  2,  3],\n",
       "        [ 4,  5,  6]],\n",
       "\n",
       "       [[12,  3, 34],\n",
       "        [ 5,  6,  7]]])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1[1,0,0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 形状修改"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(4, 5)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912,  0.39132714,  1.02290317, -0.33438889],\n",
       "       [-0.08775205,  1.99655647,  0.24488145, -1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957,  0.68582294,  1.05605474, -1.6015672 ],\n",
       "       [-0.53759709,  1.62663522, -0.2319302 , -0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912,  0.39132714,  1.02290317],\n",
       "       [-0.33438889, -0.08775205,  1.99655647,  0.24488145],\n",
       "       [-1.25742494, -0.35522986,  0.85280747,  1.87762957],\n",
       "       [ 0.68582294,  1.05605474, -1.6015672 , -0.53759709],\n",
       "       [ 1.62663522, -0.2319302 , -0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change.reshape([5,4])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912],\n",
       "       [ 0.39132714,  1.02290317],\n",
       "       [-0.33438889, -0.08775205],\n",
       "       [ 1.99655647,  0.24488145],\n",
       "       [-1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957],\n",
       "       [ 0.68582294,  1.05605474],\n",
       "       [-1.6015672 , -0.53759709],\n",
       "       [ 1.62663522, -0.2319302 ],\n",
       "       [-0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change.reshape([-1, 2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "# stock_change.reshape([3,-1]) # 报错"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912,  0.39132714,  1.02290317, -0.33438889],\n",
       "       [-0.08775205,  1.99655647,  0.24488145, -1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957,  0.68582294,  1.05605474, -1.6015672 ],\n",
       "       [-0.53759709,  1.62663522, -0.2319302 , -0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_change.resize([10, 2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 , -0.32586912],\n",
       "       [ 0.39132714,  1.02290317],\n",
       "       [-0.33438889, -0.08775205],\n",
       "       [ 1.99655647,  0.24488145],\n",
       "       [-1.25742494, -0.35522986],\n",
       "       [ 0.85280747,  1.87762957],\n",
       "       [ 0.68582294,  1.05605474],\n",
       "       [-1.6015672 , -0.53759709],\n",
       "       [ 1.62663522, -0.2319302 ],\n",
       "       [-0.27205088, -0.49244907]])"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.5142373 ,  0.39132714, -0.33438889,  1.99655647, -1.25742494,\n",
       "         0.85280747,  0.68582294, -1.6015672 ,  1.62663522, -0.27205088],\n",
       "       [-0.32586912,  1.02290317, -0.08775205,  0.24488145, -0.35522986,\n",
       "         1.87762957,  1.05605474, -0.53759709, -0.2319302 , -0.49244907]])"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change.T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 类型修改"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0,  0],\n",
       "       [ 0,  1],\n",
       "       [ 0,  0],\n",
       "       [ 1,  0],\n",
       "       [-1,  0],\n",
       "       [ 0,  1],\n",
       "       [ 0,  1],\n",
       "       [-1,  0],\n",
       "       [ 1,  0],\n",
       "       [ 0,  0]])"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_change.astype(np.int64)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "a1 = np.array([ [[1,2,3],[4,5,6]], [[12,3,34],[5,6,7]]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[[ 1,  2,  3],\n",
       "        [ 4,  5,  6]],\n",
       "\n",
       "       [[12,  3, 34],\n",
       "        [ 5,  6,  7]]])"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x07\\x00\\x00\\x00\\x00\\x00\\x00\\x00'"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a1.tostring()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数组的去重"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.array([[1,2,3,4],[2,3,4,5]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 2, 3, 4],\n",
       "       [2, 3, 4, 5]])"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 2, 3, 4, 5])"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.unique(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
